package dao;

import dao.padrao.GenericDAO;
import entidade.Aviso;
import entidade.Usuario;
import entidade.UsuarioEvento;
import java.util.ArrayList;
import java.util.List;
/**
 *
 * @author Rodrigo
 */
public class AvisoDAO extends GenericDAO<Aviso, Long>
{
    public List<Aviso> buscarAvisosUsuario(Usuario usuario)
    {
        List<UsuarioEvento> listaUsuarioEventos = new UsuarioEventoDAO().buscarEventoUsuario(usuario);
        List<Aviso> listaAvisos = new ArrayList<>();
        List<Aviso> resultado;
        for (UsuarioEvento usuarioEvento : listaUsuarioEventos)
        {
            resultado = this.getEntityManager().createQuery("select avs from Aviso avs where avs.evento.id = :eventoID ").setParameter("eventoID", usuarioEvento.getEvento().getId()).getResultList();
            for (Aviso aviso : resultado)
            {
                listaAvisos.add(aviso);
            }
        }
        if (listaAvisos.isEmpty())
        {
            return new ArrayList<Aviso>();
        }
        else
        {
            return listaAvisos;
        }
    }
}
